Адміністрація вирішила продати даний сайт. За детальною інформацією звертайтесь за адресою: rozrahu@gmail.com

Множинне спадкування. Поліморфізм

Інформація про навчальний заклад

ВУЗ:
Національний університет Львівська політехніка
Інститут:
О
Факультет:
КН
Кафедра:
Не вказано

Інформація про роботу

Рік:
2016
Тип роботи:
Звіт до лабораторної роботи
Предмет:
Програмування

Частина тексту файла

Міністерство освіти і науки Національний університет „Львівська політехніка” Кафедра EОМ Звіт з лабораторної роботи №7 з дисципліни: “Об’єктно-орієнтовне програмування ” «Множинне спадкування. Поліморфізм» Мета роботи Познайомитися із класами та об’єктами. Завдання лабораторної роботи Хід виконання роботи Текст програми Текст файлу CFighter.ccp #include "CFighter.h" #include <random> #include <iostream> using namespace std; void CFighter::fighte(std::string radar) { if(radar == "Enemy") fighte_regime = "fighte"; else fighte_regime = "Off fighte regime"; } void CFighter::escape(std::string radar) { if(radar == "Enemy!") escape_regime = "escape"; else escape_regime = "Off escape regime"; } void CFighter::search(void) { cout << "Enemy" << endl; cout << "Enemy!" << endl; cout << "No enemy" << endl; cin >> radar; this -> fighte(radar); this -> escape(radar); } CFighter CFighter::operator=(CFighter &object) { this -> height = object.height; this -> fuel = object.fuel; this -> cycle = object.cycle; this -> regime = object.regime; this -> spead = object.spead; this -> radar = object.radar; this -> fighte_regime = object.fighte_regime; this -> escape_regime = object.escape_regime; return *this; } CFighter::CFighter() { radar = "No enemy"; fighte_regime = "Off fighte regime"; escape_regime = "Off escape regime"; } CFighter::~CFighter() {} Текст файлу CFighter.h #ifndef ATTACK_AIRCRAFT_CFIGHTER_H #define ATTACK_AIRCRAFT_CFIGHTER_H #include <string> #include "CPlane.h" /* * Клас відповідальний за режим винищувача */ class CFighter: virtual public CPlane { public: std::string radar; // Показує присутність чи відсутність ворогів std::string fighte_regime; std::string escape_regime; void fighte(std::string radar); void escape(std::string radar); void search(void); CFighter operator=(CFighter &object); CFighter(); virtual ~CFighter(); }; #endif //ATTACK_AIRCRAFT_CFIGHTER_H Текст файлу CPlane.cpp #include "CPlane.h" CPlane::CPlane() { height = 0; fuel = 100; cycle = 0; regime = "Off engine"; spead = new int; } CPlane::~CPlane() { delete spead; } void CPlane::change_height(int new_height) { height = new_height; } void CPlane::change_cycle(int new_cycle) { if(fuel <= 0) fuel = 100; cycle = new_cycle; } /* * Режими польоту, при зміні режимі змінюються властивості класу */ void CPlane::change_regime(std::string new_regime) { if(new_regime == "Rise"){ regime = new_regime; cycle = 2000; fuel = fuel - 20; *spead = cycle / 20; } if(new_regime == "Flight"){ regime = new_regime; cycle = 4000; fuel = fuel - 20; *spead = cycle / 20; } if(new_regime == "Acceleration"){ regime = new_regime; cycle = 6000; fuel = fuel - 20; *spead = cycle / 20; } if(new_regime == "Landing"){ regime = new_regime; cycle = 1000; fuel = fuel - 20; *spead = cycle / 20; } } CPlane CPlane::operator=(CPlane &object) { this -> height = object.height; this -> fuel = object.fuel; this -> cycle = object.cycle; this -> regime = object.regime; this -> spead = object.spead; return *this; } Текст файлу CPlane.h #ifndef ATTACK_AIRCRAFT_CPLANE_H #define ATTACK_AIRCRAFT_CPLANE_H #include<string> /* * Клас відповідальний за політ */ class CPlane { public: int height; int fuel; int cycle; int *spead; std::string regime; void change_height(int new_height); void change_cycle(int new_cycle); void change_regime(std::string new_regime); CPlane operator=(CPlane &object); CPlane(); virtual ~CPlane(); }; #endif //ATTACK_AIRCRAFT_CPLANE_H Текст файлу CB...
Антиботан аватар за замовчуванням

24.11.2018 19:11

Коментарі

Ви не можете залишити коментар. Для цього, будь ласка, увійдіть або зареєструйтесь.

Завантаження файлу

Якщо Ви маєте на своєму комп'ютері файли, пов'язані з навчанням( розрахункові, лабораторні, практичні, контрольні роботи та інше...), і Вам не шкода ними поділитись - то скористайтесь формою для завантаження файлу, попередньо заархівувавши все в архів .rar або .zip розміром до 100мб, і до нього невдовзі отримають доступ студенти всієї України! Ви отримаєте грошову винагороду в кінці місяця, якщо станете одним з трьох переможців!
Стань активним учасником руху antibotan!
Поділись актуальною інформацією,
і отримай привілеї у користуванні архівом! Детальніше

Оголошення від адміністратора

Антиботан аватар за замовчуванням

пропонує роботу

Admin

26.02.2019 12:38

Привіт усім учасникам нашого порталу! Хороші новини - з‘явилась можливість кожному заробити на своїх знаннях та вміннях. Тепер Ви можете продавати свої роботи на сайті заробляючи кошти, рейтинг і довіру користувачів. Потрібно завантажити роботу, вказати ціну і додати один інформативний скріншот з деякими частинами виконаних завдань. Навіть одна якісна і всім необхідна робота може продатися сотні разів. «Головою заробляти» продуктивніше ніж руками! :-)

Новини